@charset "UTF-8";

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video, hr {
  margin:         0;
  padding:        0;
  border:         0;
  outline:        0;
  font-size:      100%;
  vertical-align: baseline;
  background:     transparent;
}

/*-----------------------------------------*/
/*ページ全体*/
/*-----------------------------------------*/

.hidden {
  display: none;
}

body {
  color: #333;
  font-family: -apple-system-body, BlinkMacSystemFont, "Helvetica Neue","Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans Japanese","メイリオ", "Meiryo", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing:   antialiased;
  border-top:               5px solid hsla(216, 62%, 42%, 1);
  padding-bottom:           1rem;
}

#wrapper {
  background-color: #fff;
  margin-top:   10px;
  margin-left:  auto;
  margin-right: auto;
  width:        850px;
}

/*-----------------------------------------*/
/*ヘッダ*/
/*-----------------------------------------*/

#header {

}

h1 {
  border-bottom: 1px solid #666;
}

img#logowhite {
  height: 25px;
}

p {
  padding-left: 1rem;
  text-indent:-1rem;
  margin-bottom: 0.5rem;
}

p#leadsentence {
  font-size:      0.8rem;
  color:          #777;
  margin-top:     5px;
  margin-bottom:  5px;
  text-align:     right;
}

/*-----------------------------------------*/
/*メインコンテンツ*/
/*-----------------------------------------*/

#maincont {
  display: flex;
}


/*-----------------------------------------*/
/*左サイド*/
/*-----------------------------------------*/

#leftside {
  width:            285px;
  background-color: #fff;
  margin-right:     15px;
}

#leftside a {
  display:          block;
  text-decoration:  none;
}

.side_title {
  background-color: #295eae;
  color:            #fff;
  padding:          1px 10px;
  padding-left:     0.5rem;  
  font-weight:      bold;
  font-size:        0.9rem;
  /*height:           28px;*/
  /*line-height:      28px;*/

}

.side_content {
  background-color: hsla(225, 86%, 96%, 1);
  border-bottom: 1px solid #ddd;
}

.side_content a {
  /*margin-left:  1rem;*/
  /*margin-right: 1rem;*/
  padding:    3px 1rem;
  font-size:  0.85rem;
  color:      hsla(216, 62%, 30%, 1);
  border-bottom: 1px solid #ddd;
}

.side_content a:hover {
  background-color: hsla(225, 86%, 92%, 1);
}


/*-----------------------------------------*/
/*右サイド*/
/*-----------------------------------------*/

#rightside {
  width: 550px;
}

.top {
  background-color: hsla(216, 62%, 42%, 1);
  color:#fff;
  font-size: 1.2rem;
  margin-bottom:15px;
  padding-left:1rem;
  font-weight: bold;
  padding-top:0.1rem;
  padding-bottom:0.1rem;
}

/*-----------------------------------------*/
/*検索ボックス*/
/*-----------------------------------------*/

div#search {
  display:          flex;
  align-items:      center;
  justify-content:  center;
  margin-top:       10px;
  margin-bottom:    10px;
}

input:placeholder-shown {
    color: #ccc;
}
input::-webkit-input-placeholder {
    color: #ccc;
}
input:-moz-placeholder {
    color: #ccc; opacity: 1; 
}
input:-ms-input-placeholder {
    color: #ccc;
}
input::-ms-input-placeholder {
    color: #ccc;
}

input:focus:placeholder-shown {
color: transparent;
}
input:focus::-webkit-input-placeholder {
color: transparent;
}
input:focus::-moz-placeholder {
color: transparent;
}
input:focus:-ms-input-placeholder {
color: transparent;
}
input:focus::-ms-input-placeholder {
color: transparent;
}

input[type="text"] {
  -webkit-appearance: none;
  border-radius: 0;
}

input#search_textbox {
  display:          block;
  height:           28px;
  width:            270px;
  background-color: #fff;
  border:           1px solid #bbb;
  border-radius:    5px;
  text-align:       left;
  font-size:        1.1rem;
  margin-right:     0px;
  line-height:      28px;
  padding-top:      8px;
}

input.font-awesome {
  font-family: FontAwesome;
}

::placeholder {
  color: #ccc;
}

i {
  margin-left:  -25px;
  color:        #666;
}


/*-----------------------------------------*/
/*あいうえおボタン*/
/*-----------------------------------------*/

#aiueo_wrap {

}

#aiueo_btn {
  display: none;
}

/*#aiueo {*/
nav {
  display:          flex;
  flex-wrap:        wrap;
  justify-content:  center;
  margin-top:       10px;
  margin-bottom:    10px;
}

/*#aiueo a {*/
nav a {
  display:          block;
  text-decoration:  none;
}

section a {
  display:          block;
  text-decoration:  none;
  font-size:    0.95rem;
}

#aiueo_btn a {
  display:          block;
  text-decoration:  none;
}


div.index_wrap {
  margin-right: 8px;
  margin-left: 8px;
}

div.index {
  display: flex;
}

div.index a {
  padding :         7px 14px;
  margin-top:       6px;
  margin-left:      3px;
  margin-right:     3px;
  border-radius:    5px;
  background-color: hsla(225, 86%, 96%, 1);
  color:            hsla(216, 62%, 42%, 1);
  font-weight:      bold;
}

div.index a:hover {
  background-color: hsla(225, 86%, 92%, 1);
}

div.index a.pushed {
  background-color: #295eae;
  color:            #fff;
}

div.index a.disable {
  pointer-events: none;
  color:          hsla(216, 62%, 42%, 0.2);
}

div.index a.invisible {
  pointer-events:   none;
  color:            transparent;
  background-color: transparent;
}


/*-----------------------------------------*/
/*法律一覧*/
/*-----------------------------------------*/

#main {

}

div#result_message {
  margin-bottom:7px;
}

span#query {
  font-weight: bold;
}

hr {
  border-top: 1px solid #ddd;
}

h2 {
  color:            #fff;
  background-color: hsla(216, 62%, 42%, 1);
  font-size:        1.2rem;
  font-weight:      bold;
  padding-left:     1rem;
  padding-top:0.1rem;
  padding-bottom:0.1rem;
}

span.highlight {
  background-color: hsla(56, 100%, 50%, 1);
}

#main a {
  padding-left:     1rem;
  padding-right:    1rem; 
  padding-top:      0.5rem;
  padding-bottom:   0.5rem;
  border-bottom:    solid 1px #ddd;
  font-weight:      bold;
  color:            hsla(216, 62%, 42%, 1);
  position :        relative;
}

#main a.r {
  font-weight: normal;
}

#main a:hover {
  background-color: hsla(225, 86%, 96%, 1);
}

ul li:last-child a {
  border-bottom: none;
}







/*-----------------------------------------*/
/*ページトップに戻るボタン*/
/*-----------------------------------------*/

#page_top{
  display:        none;
  width:          42px;
  height:         42px;
  position:       fixed;
  right: 50%;
  margin-right: -415px;
  bottom:         8px;
  background:     #000;
  opacity:        0.3;
  border-radius:  5px;
}

#page_top a{
  position:         relative;
  display:          block;
  width:            42px;
  height:           42px;
  text-decoration:  none;
}

#page_top a::before{
  font-family:  FontAwesome;
  content:      '\f102';
  font-size:    30px;
  color:        #fff;
  position:     absolute;
  width:        25px;
  height:       30px;
  top:          0;
  bottom:       0;
  right:        0;
  left:         0;
  margin:       auto;
  text-align:   center;
}


/*-----------------------------------------*/
/*ページ幅900px以下*/
/*-----------------------------------------*/

@media all and (max-width: 900px) {

#wrapper {
  width:        660px;
  margin-left:  auto;
  margin-right: auto;
}

#leftside {
  display: none;
}

#rightside {
  width:        100%;
  margin-left:  auto;
  margin-right: auto;
}

div.top {
  display: none;
}

div.index a {
  padding: 10px 20px;
}

div#main a {
  padding-right:  2.5rem; 
}

/*リンクの右端に「＞」を付ける*/
div#main a:after {
  display:            block;
  content:            "";
  position:           absolute;
  top:                50%;
  right:              20px;
  width:              8px;
  height:             8px;
  margin:             -4px 0 0 0;
  border-top:         solid 2px #aaa;
  border-right:       solid 2px #aaa;
  -webkit-transform:  rotate(45deg);
          transform:  rotate(45deg);
}

#page_top{
  margin-right: -320px;
}

}

/*-----------------------------------------*/
/*ページ幅700px以下*/
/*-----------------------------------------*/

@media all and (max-width: 700px) {

#wrapper {
  width:        auto;
  margin-left:  10px;
  margin-right: 10px;
}

#rightside {
  margin-left:  auto;
  margin-right: auto;
}

h2 {
  font-size:        1rem;
}

input#search_textbox {
  width: 224px;
}

#aiueo_btn {
  display:      block;
  margin-bottom:10px;
}

#aiueo_btn a {
  padding :         7px 14px;
  margin-top:       6px;
  margin-left:      auto;
  margin-right:     auto;
  border-radius:    5px;
  background-color: hsla(225, 86%, 96%, 1);
  color:            hsla(216, 62%, 42%, 1);
  font-weight:      bold;
  width:            200px;
  text-align:       center;
}

#aiueo {
  display: none;
}

#page_top{
  right: 5px;
  margin-right: 0px;
  bottom:31px;
}


}
